(*

CS520 Project
William Blair

Container Interface. Implements something like a hash table or associative array.

*)

#define ATS_STALOADFLAG 0 // no need fro staloading at run-time

staload "generator.sats"

abstype container(a:t@ype)

fun{a:t@ype} new_container () : container(a)

fun{a:t@ype} get_from_container ( id: label, container: !container(a), cmp: (label,a) -> bool  ) : a

fun{a:t@ype} save_to_container (obj: a, container: &container(a) >> container(a) ) : void

fun{a:t@ype} remove_from_container (id: label, container: !container(a) ) : void
